home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d16 / winutil3.arc / WINSTART.ARC / WINSTART.C < prev    next >
C/C++ Source or Header  |  1990-11-01  |  2KB  |  70 lines

  1. /*
  2.  *      WINSTART.C      Charles Puffe       9-18-90
  3.  *
  4.  *      A C utility program to start the version of Windows 3.0
  5.  *      that you desire upon bootup.
  6.  *
  7.  *      This program requires the Window Boss (c) libraries to be
  8.  *      compiled.
  9. */
  10.  
  11. #include "windows.h"
  12. #include <process.h>
  13. #define PROG "C:\\WINDOWS\\WIN.COM"
  14. main()
  15. {
  16.     WINDOWPTR w1;                   /* window handle */
  17.     char ch;
  18.     int batrib;                     /* border atrib */
  19.     int watrib;                     /* window atrib */
  20. /*
  21.  * Set attributes:
  22.  *
  23.  *      border - blue/white box
  24.  *      window - blue background/white letters
  25.  *
  26. */
  27.     batrib = v_setatr(BLUE,WHITE,0,0);
  28.     watrib = v_setatr(BLUE,WHITE,0,0);
  29. /*
  30.  * Open window at 0,0 - 40 cells wide and 12 cells high
  31. */
  32.     w1 = wn_open(0,0,0,40,12,watrib,batrib);
  33.     if(!w1) exit(1);
  34. /*
  35.  * Print text to window, wait for key to be struck,
  36.  * execute the version of Windows desired and exit.
  37. */
  38.     wn_printf(w1,"Windows 3.0 Startup Utility\n\n");
  39.     wn_printf(w1,"   Selections :\n\n");
  40.     wn_printf(w1,"      R)  Real Mode\n\n");
  41.     wn_printf(w1,"      S)  Standard Mode\n\n");
  42.     wn_printf(w1,"      E)  386 Enhanced Mode\n\n");
  43.     wn_printf(w1,"   Press the letter of your choice,\n     or any other key for DOS...");
  44.     ch = v_getch();
  45.     switch ( ch )
  46.     {
  47.         case 'R' :
  48.             execlp ( PROG, PROG, "/r", NULL );
  49.             break;
  50.         case 'S' :
  51.             execlp ( PROG, PROG, "/s", NULL );
  52.             break;
  53.         case 'E' :
  54.             execlp ( PROG, PROG, "/3", NULL );
  55.             break;
  56.         case 'r' :
  57.             execlp ( PROG, PROG, "/r", NULL );
  58.             break;
  59.         case 's' :
  60.             execlp ( PROG, PROG, "/s", NULL );
  61.             break;
  62.         case 'e' :
  63.             execlp ( PROG, PROG, "/3", NULL );
  64.             break;
  65.         default:
  66.             break;
  67.     }
  68.     wn_close(w1);
  69. }
  70.